The present invention relates to a communication apparatus and a communication method for implementing a communication session via a network, and in particular, to a communication apparatus and a communication method in which a communication protocol having a congestion control function such as a TCP (Transmission Control Protocol) is employed.
The TCP, which is known as a protocol of a layer 4 for data communication in an internet, is a protocol for providing highly reliable communication with connection-oriented communication. This TCP, which includes a congestion control function of adequately adjusting a congestion window responding to a congestion situation of the network, allows a transmission bandwidth to be increased by enlarging the congestion window during the time that no congestion occurs in the network, and the transmission bandwidth to be decreased by reducing the congestion window in a case where the network is congested.
Conventionally, out of versions that have been offered with respect to the TCP, there exists the so-called “TCP-Reno” as the version having fast recovery algorithms employed, which is mentioned in Non-patent Document 1 to be later described that specifies the above-mentioned congestion control function. In this “TCP-Reno”, as an action at the moment of enlarging the congestion window, there exist a slow start action for quickly enlarging the congestion window until a pre-set threshold is reached and a congestion avoidance action for enlarging the congestion window more slowly than in the slow start period after the window size has reached a threshold.
When packet discarding has been detected in the above-mentioned congestion avoidance action, the communication apparatus reduces size of the congestion window into one-half of the current one under the judgment that the network is in a state of congestion, thereby allowing the transmission bandwidth to be decreased. On the other hand, while the packet discarding is not detected, enlarging the congestion window linearly by each one MSS (Maximum Segment Size) under the judgment that the network is not in a state of congestion allows the transmission bandwidth to be slowly increased. This control is generally referred to as an AIMD (Additive Increase Multiple Decrease) control.
By the way, while the “TCP-Reno” is applied, there exists the problem that, when the packet discarding occurs, the size of the congestion window is halved for the time being, whereby thereafter, a throughput that is originally to be expected is not obtained until the window size is increased into a fully large one. This is a serious problem, in particular, for the circuit providing high-speed communication, the circuit of which a round-trip propagation delay time (hereinafter, referred to as a RTT) is originally lengthy, the wireless circuit in which the packet discarding could occur due to the cause other than the congestion, or the like. Conventionally, the arts as mentioned below have been offered for this problem.
A first prior art is for giving some kind of information as to whether or not the packet discarding is due to the congestion to a terminal from a network at the moment that the packet discarding has occurred. With this technology, for example, in Patent Document 1 to be later described is listed the technology that ELN (Explicit Loss Notification) information is transmitted to a transmission terminal from a reception terminal at the moment that the packet discarding has occurred due to an error of the circuit, and the transmission terminal does not reduce the congestion window unnecessarily in a case where the packet discarding is not due to the congestion. Moreover, the similar technology is listed in Patent Document 2 as well to be later described. Yet furthermore, in Patent Document 3 to be later described is listed the technology that quality information of the wireless circuit is given to the transmission terminal to make a switchover to the congestion window control technique suitable for the wireless circuit when quality of the wireless circuit is bad, thereby allowing the congestion window not to be reduced unnecessarily.
In a second prior art, instead of immediately judging that occurrence of the packet discarding has been triggered by the congestion occurrence, information that a TCP transmission terminal has is employed, thereby to make a congestion judgment. With this technology, for example, in Patent Document 4 to be later described is listed the technology that measuring the RTT of the circuit to determine that no congestion occurs in a case where its RTT has a constant value or less allows the congestion window not to be reduced also in a case where the packet discarding has been detected.
A third prior art is for, while taking a congestion window control by means of the AIMD control similar to the “TCP-Reno”, changing its operational parameter. With this technology, for example, in Non-patent Document 2 to be later described is listed the technology that setting an increased-width of the congestion window so that it becomes larger as compared with the case of the “TCP-Reno” while no packet discarding occurs, and setting a reduced-width of the congestion window so that it becomes smaller as compared with the case of the “TCP-Reno” when the packet discarding has occurred allow a high throughput to be obtained also in environments in which the packet discarding occurs frequently.
A fourth prior art, which does not relate to the AIMD control of the “TCP-Reno”, is for calculating the size of the ideal congestion window which is a target and for taking a control so that the congestion window is induced to assume its value. With this technology, for example, in Non-patent Document 3 to be later described is listed the technology of calculating the value of the ideal congestion window by employing the current RTT and the current congestion window to decided the increased-width or the reduced-width of the congestion window based upon a difference between its value and the current congestion window. This technology of the Non-patent Document 3 allows the size of the congestion window also that should be increased to be enlarged in a case where the current congestion window is remarkably smaller than the ideal congestion window, whereby resultantly, the throughput can be increased at a high speed.
[Patent Document 1] JP-P2004-80413A
[Patent Document 2] JP-P1999-243419A
[Patent Document 3] JP-P2000-253096A
[Patent Document 4] JP-P2001-160824A
[Non-patent Document 1] W. Stevens, “TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms”, [online], January, 1997, Network Working Group/RFC2001, [Retrieval: Jan. 21, 2005]
[Non-patent Document 2] S. Floyd, “High Speed TCP for Large Congestion Windows”, [online], December, 2003, Network Working Group/RFC3649, [Retrieval: Jan. 21, 2005]
[Non-patent Document 3] Cheng Jin, David X. Wei and Steven H. Low, “FAST TCP for High-Speed Long-Distance Networks”, [online], June, 2003, Internet Engineering Task Force/INTERNET DRAFT/draft-jwl-tcp-fast-01.txt, [Retrieval: Jan. 21, 2005]
[Non-patent Document 4] R. Wang, M. Valla, M. Y. Sanadidi, B. K. F. Ng and M. Gerla, “Efficiency/Friendliness Tradeoffs in TCP Westwood”, [online], May 15, 2002, UCLA Computer Science Department [Retrieval: Jan. 21, 2005]
The controversial point of the first prior art is that introduction thereof is difficult because a mechanism for notifying the terminal of the cause of the packet discarding and the situation of the wireless circuit is required for the network. In particular, in a case where the terminal connected to the wireless circuit makes communication with the unspecified number of the terminals that have not been connected to its wireless circuit, it is not easy to introduce the above mechanism into all of the unspecified number of the terminals, i.e. the latter. Furthermore, it is difficult to apply the similar mechanism for the wire circuit.
The controversial point of the second prior art is that there exists uncertainty as to the congestion judgment based upon the RTT. A range of the value that the RTT is allowed to assume depends upon a buffer capacity of a router, whereby the most suitable RTT threshold, which is employed for making a congestion judgment, is difficult to decide uniquely. That is, the larger the buffer capacity of the router is, the widely the range of the value that the RTT is allowed to assume spreads, whereby even though a constant RTT threshold is set for the terminal, it is more easily judged that the congestion has occurred at the time of using the circuit in which the buffer capacity of the router is relatively small than at the time of using the circuit in which the buffer capacity of the router is relatively large. Doing so gives a rise to the possibility of judging that the congestion has occurred although the fact is that slight congestion has occurred, and resultantly, the throughput lowers due to the unnecessary reduction control of the congestion window. Contrarily, in a case where the buffer capacity is relatively large, there is the possibility of judging that the congestion has not occurred yet notwithstanding the situation where it should be judged that the congestion has occurred, and in this case, the congestion window that should be reduced is not reduced, and resultantly, the problem arises that the congestion cannot be avoided.
The controversial point of the third prior art is that it is difficult to cause the session with this technology and the existing “TCP-Reno” session to coexist in a network, and there exists the problem that the throughput of the “TCP-Reno” session lowers in a case of competing with the “TCP-Reno” session. That is, in the third prior art, the increased-width of the congestion window during the time that the packet discarding is not detected is set so that it becomes larger as compared with the case of “TCP-Reno”, and furthermore, the reduced-width of the congestion window at the time of detecting the packet discarding is set so that it becomes smaller as compared with the case of “TCP-Reno”, whereby the congestion window size is always larger as compared with the case of “TCP-Reno”, which causes the throughput of the “TCP-Reno” to be lowered resultantly.
The controversial point of the fourth prior art is that coexistence with the existing “TCP-Reno” session, which holds a network in common is difficult similarly to the above-mentioned third prior art, and in a case of competing with the “TCP-Reno” session, the throughput becomes smaller as compared with that of the “TCP-Reno” session. In this prior art, the value of the ideal congestion window becomes smaller than that of the current congestion window as the RTT becomes large, whereby during this period, the increased-width of the congestion window becomes negative even though the packet discarding has not been detected. On the other hand, in the “TCP-Reno”, the congestion window keeps to be always increased until the packet discarding is detected irrespective of the size of the RTT. For this, in a case where these compete with each other, there exists the problem that the throughput of the TCP session with this prior art lowers.